Automotive vehicles are commonly equipped with a plurality of electronic control units for controlling various functions onboard the vehicle. A typical vehicle includes an engine control unit, a drivetrain control unit, a body control unit, and various other electronic control units, all of which typically employ a microcontroller having a microprocessor and memory. As part of the vehicle development, the presence of electronic control units introduce the need to diagnose the microcontrollers. In the past, if an electronic control unit experienced a problem, the electronic control unit was diagnosed by installing an instrumentation connector to the unit, recompiling the software stored in memory in the unit to enable show cycles, connecting a logic analyzer to the unit, and then beginning diagnostic investigation of the problem.
The typical electronic control unit diagnostic techniques have enabled the development engineer to reconfigure a given electronic control unit. However, such diagnostic approaches may also eliminate evidence of the problem and, hence, make it more difficult to determine the cause of a problem. Some more sophisticated high-end microcontrollers are expected to include debug support integrated in the electronic control unit. The debug support may include a debug interrupt service routine which may contain logic to control trigger points that are set up to fetch addresses or data while executing in a specified address range.
It is therefore desirable to provide for the ability to perform a diagnostic operation on an electronic control unit which allows for analysis of an event, particularly one that is a problem. It is further desirable to provide for diagnostics for use on an electronic control unit on a vehicle, to perform vehicle level diagnostics.